1. Field of the Invention
The present invention is generally related to increasing the efficiency of memory space by dropping lower priority packets that are slated for transmission via a communication medium.
2. Related Art
The importance to the modern economy of rapid data access and exchange cannot be overstated. This explains the exponentially increasing popularity of the data access and exchange via cable networks (including coaxial cable or Hybrid fiber coaxial cable), the Internet, intranets, wireless networks, satellites and so forth (i.e., communication mediums). Rapid data access and exchange is partly dependent upon how efficiently bandwidth is allocated to a data provider in order for the data provider to transfer the requested data to a user via one of the communication mediums mentioned above.
One very desirable solution for rapid data access and exchange is via cable networks and cable modems. Cable modems provide communications on cable networks. In general, a user connects a cable modem to the TV outlet for his or her cable TV, and the cable TV operator connects a cable modem termination system (“CMTS”) in the operator's headend. The CMTS is a central device for connecting the cable network to a data network like the Internet. The CMTS is a central distribution point for a cable system. Data flows “downstream” from the CMTS to the cable modem (i.e., downstream communication). Alternatively, data flows “upstream” from the cable modem to the CMTS (i.e., upstream communication).
A common cable modem standard today is the Data Over Cable Service Interface Specification (“DOCSIS”). DOCSIS defines technical specifications for both cable modems and CMTS. In DOCSIS, packets are slated for transmission to the data provider via downstream communication by storing the packets in memory. Different types of data have different priorities. These different priorities determine the order in which the packets are sent to the data provider. For example, voice data cannot tolerate delay in transmission and thus is given a higher priority over other types of data that can tolerate delay (e.g., data involved in web surfing). Thus, at times lower priority packets back up due to the CMTS receiving higher priority packets before the CMTS can send the lower priority packets to their respective data provider. This backup tends to fill up the memory that is allocated to store the packets. Therefore, what is needed is a way of dropping the oldest and lowest priority packets when memory becomes too full.